﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ABC_SA_WEB.WebServiceCliente;

namespace ABC_SA_WEB
{
    public partial class Formulario_web11 : System.Web.UI.Page
    {
        private int r = 2;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack){
                string cliente = (string)(Session["usuario"]);
                consultarDatos(cliente);
            }
        }

        protected void btnAgregar_Click(object sender, EventArgs e)
        {
            if (txtPass.Text.CompareTo(txtPassC.Text) == 0)
            {
                wsCliente usuario = new wsCliente();
                bool cont = usuario.crearUsuario(txtNombreUsuario.Text, txtPass.Text, 
                    txtNombre.Text, txtAppP.Text, txtAppM.Text, txtCedula.Text,
                    txtNac.Text, txtCorreo.Text, r);
                if (cont == true)
                {
                    mostrarMensaje("Usuario creado con exito");
                    limpiarCampos();
                }
                else {
                    mostrarMensaje("Error al crear el usuario");
                }
            }
        }

        protected void btnActualizar_Click(object sender, EventArgs e)
        {
            string idCliente = (string)(Session["idUsuario"]);
            wsCliente cliente = new wsCliente();
            bool cont = cliente.modificaUsuario(Convert.ToInt32(idCliente), txtNombreUsuario.Text, txtNombre.Text, txtAppP.Text, txtAppM.Text,
                txtCedula.Text, txtNac.Text, txtCorreo.Text);
            if (cont == true)
            {
                mostrarMensaje("Usuario actualizado con exito");
            }
            else {
                mostrarMensaje("Error al actualizar el usuario");
            }
        }

        private void consultarDatos(string cliente) {
            wsCliente c = new wsCliente();
            Cliente cl = c.getCliente(cliente);

            if (cl != null) {
                Usuario u = c.getUsuario(cliente);
                if (u != null)
                {
                    txtNombreUsuario.Text = u.UserName;                    
                    if (txtNombreUsuario.Text.CompareTo("") != 0) {
                        txtNombreUsuario.Enabled = false;
                        txtPass.Enabled = false;
                        txtPassC.Enabled = false;
                        btnAgregar.Enabled = false;
                    }

                    txtNombre.Text = cl.Nombre;
                    txtAppP.Text = cl.ApellidoPat;
                    txtAppM.Text = cl.ApellidoMat;
                    txtCedula.Text = cl.Identificacion;
                    txtNac.Text = cl.Nacionalidad;
                    txtCorreo.Text = cl.Email;
                }
            }              
        }

        //limpia los campos del form
        private void limpiarCampos()
        {
            txtNombreUsuario.Text = "";
            txtPass.Text = "";
            txtPassC.Text = "";

            txtCedula.Text = "";
            txtNombre.Text = "";
            txtAppP.Text = "";
            txtAppM.Text = "";
            txtNac.Text = "";
            txtCorreo.Text = "";
        }

        //muestra un mensaje como popup
        private void mostrarMensaje(string mensaje)
        {
            string csname1 = "PopupScript";
            Type cstype = this.GetType();
            string cstext1 = Utilitario.mensajeJS(mensaje);
            ClientScript.RegisterStartupScript(cstype, csname1, cstext1);
        }
    }
}